Circuit switching is a method of network switching where a dedicated circuit, e.g., a physical path from transmitter to receiver or a particular time slot on such physical path, is established before and maintained throughout each communication. Circuit switching has long been used for voice communication. However, because of the long circuit setup times and the dedication of switch resources for call duration that are involved with known circuit switching networks, packet switching is typically used for data communication since such communication usually occurs in short, high-rate bursts, with long pauses between bursts. Packet switching networks are characterized in that messages are broken down into standard-size packets which are individually routed through the network and in that computers using sophisticated software packages are employed to perform the packet switching functions at the nodes within the network. Flow control protocols are frequently used to relieve the congestion that can occur within the network. With buffer storage allocation, a known flow control protocol discussed in an article by W. Green and U. W. Pooch, "A Review of Classification Schemes for Computer Communication Networks," Computer, November 1977, a data transmitter requests allocation of message reassembly space in the destination data receiver before transmitting the message. This prevents packets from accumulating in the network when the receiver buffer is full. A second alternative, to have the receiver notify the transmitter when a received packet must be discarded, requires each such packet, to be transmitted at least twice. Both protocol alternatives require relatively complex software implementations.
Because of evolving technological advances useful in implementing circuit switching networks and because of the complexity of known packet switching systems, circuit switching is sometimes a preferable alternative for use in many data communication applications. However, the long circuit setup times associated with known telephone switching systems make such systems impractical for applications requiring that a circuit be established for each packet-sized data communication. In such systems, circuits are typically established by a central control complex only after an available network path is found by hunting through a large, centralized database. Not only is such a path hunt slow, but many additional communications are required both to request circuits and to keep the centralized database informed of every network status change.
In view of the foregoing, two recognized problems in the art are the undesirably long circuit setup times in known circuit switching systems and the considerable degree of central control involvement required to use a centralized database for circuit setups. Another problem is the complexity of the flow control mechanisms used in known data communication systems.